package com.tianji.learning.service;

import com.tianji.common.domain.dto.PageDTO;
import com.tianji.learning.domain.po.InteractionQuestion;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tianji.learning.domain.query.QuestionAdminPageQuery;
import com.tianji.learning.domain.query.QuestionPageQuery;
import com.tianji.learning.domain.vo.QuestionAdminVO;
import com.tianji.learning.domain.vo.QuestionVO;

/**
 * <p>
 * 互动提问的问题表 服务类
 * </p>
 *
 * @author author
 * @since 2025-03-26
 */
public interface IInteractionQuestionService extends IService<InteractionQuestion> {

    /**
     * 问题分页查询
     * @param questionPageQuery
     * @return
     */
    PageDTO<QuestionVO> getPage(QuestionPageQuery questionPageQuery);

    /**
     * 管理端问题分页查询
     * @param questionAdminPageQuery
     * @return
     */
    PageDTO<QuestionAdminVO> getPage(QuestionAdminPageQuery questionAdminPageQuery);

    /**
     * 根据 id 拿到 QuestionVO
     * @param id
     * @return
     */
    QuestionVO getQuestionVo(Long id);

    /**
     * 根据 id 拿到 QuestionAdminVO
     * @param id
     * @return
     */
    QuestionAdminVO getQuestionAdminVo(Long id);

    /**
     * 隐藏这个问题下的所有回答及评论
     */
    void hideAll(Long id);

    /**
     * 显示这个问题下的所有回答及评论
     */
    void displayAll(Long id);
}
